<template>
    <div>
        <h3>- RegExp 构造函数</h3>
        <code>三种情况：new RegExp('xyz', 'i'); new RegExp(/xyz/i); new RegExp(/abc/ig, 'i'); //修饰符以第二个参数为准</code>
        <h3>- 新增修饰符</h3>
        <p>+ 新增 u 修饰符以及 unicode 属性（是否设置 u）、flags 属性返回正则修饰符 而 source 属性 返回正则表达式内容</p>
        <p>+ 新增 y 修饰符以及 sticky 属性（是否设置 y）</p>
        <p>“粘连”（sticky）修饰符 与 g 类似 全局匹配 后一次匹配从上一次匹配成功的下一个位置开始 但是 y 要求必须从剩余的第一个位置开始</p>
        <code>var s = 'aaa_aa_a'; var r1 = /a+/g; => r1.exec(s) // ["aa"] r2.exec(s) // null</code>
        <p>单单一个y修饰符对match方法，只能返回第一个匹配，必须与g修饰符联用，才能返回所有匹配。</p>
        <code>'a1a2a3'.match(/a\d/y) // ["a1"] ; 'a1a2a3'.match(/a\d/gy) // ["a1", "a2", "a3"]</code>
        <p>+ 新增 s 修饰符 dotAll模式 这个模式中 点可以代表所有字符 包括\n换行符</p>
        <h3>后行断言</h3>
        <code>(?&lt;=XX) 前面必须有XX (?&lt;!XX)前面不能有XX</code>
        <p>还有一种先行断言：<code>(?=XX) 后面必须有XX (?!XX)后面不能有XX</code></p>
        <h3>具名分组匹配 见 <a :href="url + '/learning/my-tool/#/regular-exp'" target="_blank">正则演练场</a></h3>
        <h3>String.prototype.matchAll</h3>
        <p>可以一次性取出所有匹配 返回的是一个遍历器</p>
    </div>
</template>

<script>
import url from '../baseUrl'
export default {
    data() {
        return {
            url
        }
    },
}
</script>

<style scoped>

</style>